//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(new String('he' + 'llo') >>> new Object());
write(new String('he' + 'llo') >>> new Object());
write(new String('he' + 'llo') >>> [1, 2, 3]);
write(new String('he' + 'llo') >>> [1 ,2 , 3]);
write(new String('he' + 'llo') >>> new Array(3));
write(new String('he' + 'llo') >>> Array(3));
write(new String('he' + 'llo') >>> new Array(1 ,2 ,3));
write(new String('he' + 'llo') >>> Array(1));
write(new String('he' + 'llo') >>> foo);
write(new Object() >>> undefined);
write(new Object() >>> null);
write(new Object() >>> true);
write(new Object() >>> false);
write(new Object() >>> Boolean(true));
write(new Object() >>> Boolean(false));
write(new Object() >>> new Boolean(true));
write(new Object() >>> new Boolean(false));
write(new Object() >>> NaN);
write(new Object() >>> +0);
write(new Object() >>> -0);
write(new Object() >>> 0);
write(new Object() >>> 0.0);
write(new Object() >>> -0.0);
write(new Object() >>> +0.0);
write(new Object() >>> 1);
write(new Object() >>> 10);
write(new Object() >>> 10.0);
write(new Object() >>> 10.1);
write(new Object() >>> -1);
write(new Object() >>> -10);
write(new Object() >>> -10.0);
write(new Object() >>> -10.1);
write(new Object() >>> Number.MAX_VALUE);
write(new Object() >>> Number.MIN_VALUE);
write(new Object() >>> Number.NaN);
write(new Object() >>> Number.POSITIVE_INFINITY);
write(new Object() >>> Number.NEGATIVE_INFINITY);
write(new Object() >>> new Number(NaN));
write(new Object() >>> new Number(+0));
write(new Object() >>> new Number(-0));
write(new Object() >>> new Number(0));
write(new Object() >>> new Number(0.0));
write(new Object() >>> new Number(-0.0));
write(new Object() >>> new Number(+0.0));
write(new Object() >>> new Number(1));
write(new Object() >>> new Number(10));
write(new Object() >>> new Number(10.0));
write(new Object() >>> new Number(10.1));
write(new Object() >>> new Number(-1));
write(new Object() >>> new Number(-10));
write(new Object() >>> new Number(-10.0));
write(new Object() >>> new Number(-10.1));
write(new Object() >>> new Number(Number.MAX_VALUE));
write(new Object() >>> new Number(Number.MIN_VALUE));
write(new Object() >>> new Number(Number.NaN));
write(new Object() >>> new Number(Number.POSITIVE_INFINITY));
write(new Object() >>> new Number(Number.NEGATIVE_INFINITY));
write(new Object() >>> '');
write(new Object() >>> 0xa);
write(new Object() >>> 04);
write(new Object() >>> 'hello');
write(new Object() >>> 'hel' + 'lo');
write(new Object() >>> String(''));
write(new Object() >>> String('hello'));
write(new Object() >>> String('h' + 'ello'));
write(new Object() >>> new String(''));
write(new Object() >>> new String('hello'));
write(new Object() >>> new String('he' + 'llo'));
write(new Object() >>> new Object());
write(new Object() >>> new Object());
write(new Object() >>> [1, 2, 3]);
write(new Object() >>> [1 ,2 , 3]);
write(new Object() >>> new Array(3));
write(new Object() >>> Array(3));
write(new Object() >>> new Array(1 ,2 ,3));
write(new Object() >>> Array(1));
write(new Object() >>> foo);
write(new Object() >>> undefined);
write(new Object() >>> null);
write(new Object() >>> true);
write(new Object() >>> false);
write(new Object() >>> Boolean(true));
write(new Object() >>> Boolean(false));
write(new Object() >>> new Boolean(true));
write(new Object() >>> new Boolean(false));
write(new Object() >>> NaN);
write(new Object() >>> +0);
write(new Object() >>> -0);
write(new Object() >>> 0);
write(new Object() >>> 0.0);
write(new Object() >>> -0.0);
write(new Object() >>> +0.0);
write(new Object() >>> 1);
write(new Object() >>> 10);
write(new Object() >>> 10.0);
write(new Object() >>> 10.1);
write(new Object() >>> -1);
write(new Object() >>> -10);
write(new Object() >>> -10.0);
write(new Object() >>> -10.1);
write(new Object() >>> Number.MAX_VALUE);
write(new Object() >>> Number.MIN_VALUE);
write(new Object() >>> Number.NaN);
write(new Object() >>> Number.POSITIVE_INFINITY);
write(new Object() >>> Number.NEGATIVE_INFINITY);
write(new Object() >>> new Number(NaN));
write(new Object() >>> new Number(+0));
write(new Object() >>> new Number(-0));
write(new Object() >>> new Number(0));
write(new Object() >>> new Number(0.0));
write(new Object() >>> new Number(-0.0));
write(new Object() >>> new Number(+0.0));
write(new Object() >>> new Number(1));
write(new Object() >>> new Number(10));
write(new Object() >>> new Number(10.0));
write(new Object() >>> new Number(10.1));
write(new Object() >>> new Number(-1));
write(new Object() >>> new Number(-10));
write(new Object() >>> new Number(-10.0));
write(new Object() >>> new Number(-10.1));
write(new Object() >>> new Number(Number.MAX_VALUE));
write(new Object() >>> new Number(Number.MIN_VALUE));
write(new Object() >>> new Number(Number.NaN));
write(new Object() >>> new Number(Number.POSITIVE_INFINITY));
write(new Object() >>> new Number(Number.NEGATIVE_INFINITY));
write(new Object() >>> '');
write(new Object() >>> 0xa);
write(new Object() >>> 04);
write(new Object() >>> 'hello');
write(new Object() >>> 'hel' + 'lo');
write(new Object() >>> String(''));
write(new Object() >>> String('hello'));
write(new Object() >>> String('h' + 'ello'));
write(new Object() >>> new String(''));
write(new Object() >>> new String('hello'));
write(new Object() >>> new String('he' + 'llo'));
write(new Object() >>> new Object());
write(new Object() >>> new Object());
write(new Object() >>> [1, 2, 3]);
write(new Object() >>> [1 ,2 , 3]);
write(new Object() >>> new Array(3));
write(new Object() >>> Array(3));
write(new Object() >>> new Array(1 ,2 ,3));
write(new Object() >>> Array(1));
write(new Object() >>> foo);
write([1, 2, 3] >>> undefined);
write([1, 2, 3] >>> null);
write([1, 2, 3] >>> true);
write([1, 2, 3] >>> false);
write([1, 2, 3] >>> Boolean(true));
write([1, 2, 3] >>> Boolean(false));
write([1, 2, 3] >>> new Boolean(true));
write([1, 2, 3] >>> new Boolean(false));
write([1, 2, 3] >>> NaN);
write([1, 2, 3] >>> +0);
write([1, 2, 3] >>> -0);
write([1, 2, 3] >>> 0);
write([1, 2, 3] >>> 0.0);
write([1, 2, 3] >>> -0.0);
write([1, 2, 3] >>> +0.0);
write([1, 2, 3] >>> 1);
write([1, 2, 3] >>> 10);
write([1, 2, 3] >>> 10.0);
write([1, 2, 3] >>> 10.1);
write([1, 2, 3] >>> -1);
write([1, 2, 3] >>> -10);
write([1, 2, 3] >>> -10.0);
write([1, 2, 3] >>> -10.1);
write([1, 2, 3] >>> Number.MAX_VALUE);
write([1, 2, 3] >>> Number.MIN_VALUE);
write([1, 2, 3] >>> Number.NaN);
write([1, 2, 3] >>> Number.POSITIVE_INFINITY);
write([1, 2, 3] >>> Number.NEGATIVE_INFINITY);
write([1, 2, 3] >>> new Number(NaN));
write([1, 2, 3] >>> new Number(+0));
write([1, 2, 3] >>> new Number(-0));
write([1, 2, 3] >>> new Number(0));
write([1, 2, 3] >>> new Number(0.0));
write([1, 2, 3] >>> new Number(-0.0));
write([1, 2, 3] >>> new Number(+0.0));
write([1, 2, 3] >>> new Number(1));
write([1, 2, 3] >>> new Number(10));
write([1, 2, 3] >>> new Number(10.0));
write([1, 2, 3] >>> new Number(10.1));
write([1, 2, 3] >>> new Number(-1));
write([1, 2, 3] >>> new Number(-10));
write([1, 2, 3] >>> new Number(-10.0));
write([1, 2, 3] >>> new Number(-10.1));
write([1, 2, 3] >>> new Number(Number.MAX_VALUE));
write([1, 2, 3] >>> new Number(Number.MIN_VALUE));
write([1, 2, 3] >>> new Number(Number.NaN));
write([1, 2, 3] >>> new Number(Number.POSITIVE_INFINITY));
write([1, 2, 3] >>> new Number(Number.NEGATIVE_INFINITY));
write([1, 2, 3] >>> '');
write([1, 2, 3] >>> 0xa);
write([1, 2, 3] >>> 04);
write([1, 2, 3] >>> 'hello');
write([1, 2, 3] >>> 'hel' + 'lo');
write([1, 2, 3] >>> String(''));
write([1, 2, 3] >>> String('hello'));
write([1, 2, 3] >>> String('h' + 'ello'));
write([1, 2, 3] >>> new String(''));
write([1, 2, 3] >>> new String('hello'));
write([1, 2, 3] >>> new String('he' + 'llo'));
write([1, 2, 3] >>> new Object());
write([1, 2, 3] >>> new Object());
write([1, 2, 3] >>> [1, 2, 3]);
write([1, 2, 3] >>> [1 ,2 , 3]);
write([1, 2, 3] >>> new Array(3));
write([1, 2, 3] >>> Array(3));
write([1, 2, 3] >>> new Array(1 ,2 ,3));
write([1, 2, 3] >>> Array(1));
write([1, 2, 3] >>> foo);
write([1 ,2 , 3] >>> undefined);
write([1 ,2 , 3] >>> null);
write([1 ,2 , 3] >>> true);
write([1 ,2 , 3] >>> false);
write([1 ,2 , 3] >>> Boolean(true));
write([1 ,2 , 3] >>> Boolean(false));
write([1 ,2 , 3] >>> new Boolean(true));
write([1 ,2 , 3] >>> new Boolean(false));
write([1 ,2 , 3] >>> NaN);
write([1 ,2 , 3] >>> +0);
write([1 ,2 , 3] >>> -0);
write([1 ,2 , 3] >>> 0);
write([1 ,2 , 3] >>> 0.0);
write([1 ,2 , 3] >>> -0.0);
write([1 ,2 , 3] >>> +0.0);
write([1 ,2 , 3] >>> 1);
write([1 ,2 , 3] >>> 10);
write([1 ,2 , 3] >>> 10.0);
write([1 ,2 , 3] >>> 10.1);
write([1 ,2 , 3] >>> -1);
write([1 ,2 , 3] >>> -10);
write([1 ,2 , 3] >>> -10.0);
write([1 ,2 , 3] >>> -10.1);
write([1 ,2 , 3] >>> Number.MAX_VALUE);
write([1 ,2 , 3] >>> Number.MIN_VALUE);
write([1 ,2 , 3] >>> Number.NaN);
write([1 ,2 , 3] >>> Number.POSITIVE_INFINITY);
write([1 ,2 , 3] >>> Number.NEGATIVE_INFINITY);
write([1 ,2 , 3] >>> new Number(NaN));
write([1 ,2 , 3] >>> new Number(+0));
write([1 ,2 , 3] >>> new Number(-0));
write([1 ,2 , 3] >>> new Number(0));
write([1 ,2 , 3] >>> new Number(0.0));
write([1 ,2 , 3] >>> new Number(-0.0));
write([1 ,2 , 3] >>> new Number(+0.0));
write([1 ,2 , 3] >>> new Number(1));
write([1 ,2 , 3] >>> new Number(10));
write([1 ,2 , 3] >>> new Number(10.0));
write([1 ,2 , 3] >>> new Number(10.1));
write([1 ,2 , 3] >>> new Number(-1));
write([1 ,2 , 3] >>> new Number(-10));
write([1 ,2 , 3] >>> new Number(-10.0));
write([1 ,2 , 3] >>> new Number(-10.1));
write([1 ,2 , 3] >>> new Number(Number.MAX_VALUE));
write([1 ,2 , 3] >>> new Number(Number.MIN_VALUE));
write([1 ,2 , 3] >>> new Number(Number.NaN));
write([1 ,2 , 3] >>> new Number(Number.POSITIVE_INFINITY));
write([1 ,2 , 3] >>> new Number(Number.NEGATIVE_INFINITY));
write([1 ,2 , 3] >>> '');
write([1 ,2 , 3] >>> 0xa);
write([1 ,2 , 3] >>> 04);
write([1 ,2 , 3] >>> 'hello');
write([1 ,2 , 3] >>> 'hel' + 'lo');
write([1 ,2 , 3] >>> String(''));
write([1 ,2 , 3] >>> String('hello'));
write([1 ,2 , 3] >>> String('h' + 'ello'));
write([1 ,2 , 3] >>> new String(''));
write([1 ,2 , 3] >>> new String('hello'));
write([1 ,2 , 3] >>> new String('he' + 'llo'));
write([1 ,2 , 3] >>> new Object());
write([1 ,2 , 3] >>> new Object());
write([1 ,2 , 3] >>> [1, 2, 3]);
write([1 ,2 , 3] >>> [1 ,2 , 3]);
write([1 ,2 , 3] >>> new Array(3));
write([1 ,2 , 3] >>> Array(3));
write([1 ,2 , 3] >>> new Array(1 ,2 ,3));
write([1 ,2 , 3] >>> Array(1));
write([1 ,2 , 3] >>> foo);
write(new Array(3) >>> undefined);
write(new Array(3) >>> null);
write(new Array(3) >>> true);
write(new Array(3) >>> false);
write(new Array(3) >>> Boolean(true));
write(new Array(3) >>> Boolean(false));
write(new Array(3) >>> new Boolean(true));
write(new Array(3) >>> new Boolean(false));
write(new Array(3) >>> NaN);
write(new Array(3) >>> +0);
write(new Array(3) >>> -0);
write(new Array(3) >>> 0);
write(new Array(3) >>> 0.0);
write(new Array(3) >>> -0.0);
write(new Array(3) >>> +0.0);
write(new Array(3) >>> 1);
write(new Array(3) >>> 10);
write(new Array(3) >>> 10.0);
write(new Array(3) >>> 10.1);
write(new Array(3) >>> -1);
write(new Array(3) >>> -10);
write(new Array(3) >>> -10.0);
write(new Array(3) >>> -10.1);
write(new Array(3) >>> Number.MAX_VALUE);
write(new Array(3) >>> Number.MIN_VALUE);
write(new Array(3) >>> Number.NaN);
write(new Array(3) >>> Number.POSITIVE_INFINITY);
write(new Array(3) >>> Number.NEGATIVE_INFINITY);
write(new Array(3) >>> new Number(NaN));
write(new Array(3) >>> new Number(+0));
write(new Array(3) >>> new Number(-0));
write(new Array(3) >>> new Number(0));
write(new Array(3) >>> new Number(0.0));
write(new Array(3) >>> new Number(-0.0));
write(new Array(3) >>> new Number(+0.0));
write(new Array(3) >>> new Number(1));
write(new Array(3) >>> new Number(10));
write(new Array(3) >>> new Number(10.0));
write(new Array(3) >>> new Number(10.1));
write(new Array(3) >>> new Number(-1));
write(new Array(3) >>> new Number(-10));
write(new Array(3) >>> new Number(-10.0));
write(new Array(3) >>> new Number(-10.1));
write(new Array(3) >>> new Number(Number.MAX_VALUE));
write(new Array(3) >>> new Number(Number.MIN_VALUE));
write(new Array(3) >>> new Number(Number.NaN));
write(new Array(3) >>> new Number(Number.POSITIVE_INFINITY));
write(new Array(3) >>> new Number(Number.NEGATIVE_INFINITY));
write(new Array(3) >>> '');
write(new Array(3) >>> 0xa);
write(new Array(3) >>> 04);
write(new Array(3) >>> 'hello');
write(new Array(3) >>> 'hel' + 'lo');
write(new Array(3) >>> String(''));
write(new Array(3) >>> String('hello'));
write(new Array(3) >>> String('h' + 'ello'));
write(new Array(3) >>> new String(''));
write(new Array(3) >>> new String('hello'));
write(new Array(3) >>> new String('he' + 'llo'));
write(new Array(3) >>> new Object());
write(new Array(3) >>> new Object());
write(new Array(3) >>> [1, 2, 3]);
write(new Array(3) >>> [1 ,2 , 3]);
write(new Array(3) >>> new Array(3));
write(new Array(3) >>> Array(3));
write(new Array(3) >>> new Array(1 ,2 ,3));
write(new Array(3) >>> Array(1));
write(new Array(3) >>> foo);
write(Array(3) >>> undefined);
write(Array(3) >>> null);
write(Array(3) >>> true);
write(Array(3) >>> false);
write(Array(3) >>> Boolean(true));
write(Array(3) >>> Boolean(false));
write(Array(3) >>> new Boolean(true));
write(Array(3) >>> new Boolean(false));
write(Array(3) >>> NaN);
write(Array(3) >>> +0);
write(Array(3) >>> -0);
write(Array(3) >>> 0);
write(Array(3) >>> 0.0);
write(Array(3) >>> -0.0);
write(Array(3) >>> +0.0);
write(Array(3) >>> 1);
write(Array(3) >>> 10);
write(Array(3) >>> 10.0);
write(Array(3) >>> 10.1);
write(Array(3) >>> -1);
write(Array(3) >>> -10);
write(Array(3) >>> -10.0);
write(Array(3) >>> -10.1);
write(Array(3) >>> Number.MAX_VALUE);
write(Array(3) >>> Number.MIN_VALUE);
write(Array(3) >>> Number.NaN);
write(Array(3) >>> Number.POSITIVE_INFINITY);
write(Array(3) >>> Number.NEGATIVE_INFINITY);
write(Array(3) >>> new Number(NaN));
write(Array(3) >>> new Number(+0));
write(Array(3) >>> new Number(-0));
write(Array(3) >>> new Number(0));
write(Array(3) >>> new Number(0.0));
write(Array(3) >>> new Number(-0.0));
write(Array(3) >>> new Number(+0.0));
write(Array(3) >>> new Number(1));
write(Array(3) >>> new Number(10));
write(Array(3) >>> new Number(10.0));
write(Array(3) >>> new Number(10.1));
write(Array(3) >>> new Number(-1));
write(Array(3) >>> new Number(-10));
write(Array(3) >>> new Number(-10.0));
write(Array(3) >>> new Number(-10.1));
write(Array(3) >>> new Number(Number.MAX_VALUE));
write(Array(3) >>> new Number(Number.MIN_VALUE));
write(Array(3) >>> new Number(Number.NaN));
write(Array(3) >>> new Number(Number.POSITIVE_INFINITY));
write(Array(3) >>> new Number(Number.NEGATIVE_INFINITY));
write(Array(3) >>> '');
write(Array(3) >>> 0xa);
write(Array(3) >>> 04);
write(Array(3) >>> 'hello');
write(Array(3) >>> 'hel' + 'lo');
write(Array(3) >>> String(''));
write(Array(3) >>> String('hello'));
write(Array(3) >>> String('h' + 'ello'));
write(Array(3) >>> new String(''));
write(Array(3) >>> new String('hello'));
write(Array(3) >>> new String('he' + 'llo'));
write(Array(3) >>> new Object());
write(Array(3) >>> new Object());
write(Array(3) >>> [1, 2, 3]);
write(Array(3) >>> [1 ,2 , 3]);
write(Array(3) >>> new Array(3));
write(Array(3) >>> Array(3));
write(Array(3) >>> new Array(1 ,2 ,3));
write(Array(3) >>> Array(1));
write(Array(3) >>> foo);
write(new Array(1 ,2 ,3) >>> undefined);
write(new Array(1 ,2 ,3) >>> null);
write(new Array(1 ,2 ,3) >>> true);
write(new Array(1 ,2 ,3) >>> false);
write(new Array(1 ,2 ,3) >>> Boolean(true));
write(new Array(1 ,2 ,3) >>> Boolean(false));
write(new Array(1 ,2 ,3) >>> new Boolean(true));
write(new Array(1 ,2 ,3) >>> new Boolean(false));
write(new Array(1 ,2 ,3) >>> NaN);
write(new Array(1 ,2 ,3) >>> +0);
write(new Array(1 ,2 ,3) >>> -0);
write(new Array(1 ,2 ,3) >>> 0);
write(new Array(1 ,2 ,3) >>> 0.0);
write(new Array(1 ,2 ,3) >>> -0.0);
write(new Array(1 ,2 ,3) >>> +0.0);
write(new Array(1 ,2 ,3) >>> 1);
write(new Array(1 ,2 ,3) >>> 10);
write(new Array(1 ,2 ,3) >>> 10.0);
write(new Array(1 ,2 ,3) >>> 10.1);
write(new Array(1 ,2 ,3) >>> -1);
write(new Array(1 ,2 ,3) >>> -10);
write(new Array(1 ,2 ,3) >>> -10.0);
write(new Array(1 ,2 ,3) >>> -10.1);
write(new Array(1 ,2 ,3) >>> Number.MAX_VALUE);
write(new Array(1 ,2 ,3) >>> Number.MIN_VALUE);
write(new Array(1 ,2 ,3) >>> Number.NaN);
write(new Array(1 ,2 ,3) >>> Number.POSITIVE_INFINITY);
write(new Array(1 ,2 ,3) >>> Number.NEGATIVE_INFINITY);
write(new Array(1 ,2 ,3) >>> new Number(NaN));
write(new Array(1 ,2 ,3) >>> new Number(+0));
write(new Array(1 ,2 ,3) >>> new Number(-0));
write(new Array(1 ,2 ,3) >>> new Number(0));
write(new Array(1 ,2 ,3) >>> new Number(0.0));
write(new Array(1 ,2 ,3) >>> new Number(-0.0));
write(new Array(1 ,2 ,3) >>> new Number(+0.0));
write(new Array(1 ,2 ,3) >>> new Number(1));
write(new Array(1 ,2 ,3) >>> new Number(10));
write(new Array(1 ,2 ,3) >>> new Number(10.0));
write(new Array(1 ,2 ,3) >>> new Number(10.1));
write(new Array(1 ,2 ,3) >>> new Number(-1));
write(new Array(1 ,2 ,3) >>> new Number(-10));
write(new Array(1 ,2 ,3) >>> new Number(-10.0));
write(new Array(1 ,2 ,3) >>> new Number(-10.1));
write(new Array(1 ,2 ,3) >>> new Number(Number.MAX_VALUE));
write(new Array(1 ,2 ,3) >>> new Number(Number.MIN_VALUE));
write(new Array(1 ,2 ,3) >>> new Number(Number.NaN));
write(new Array(1 ,2 ,3) >>> new Number(Number.POSITIVE_INFINITY));
write(new Array(1 ,2 ,3) >>> new Number(Number.NEGATIVE_INFINITY));
write(new Array(1 ,2 ,3) >>> '');
write(new Array(1 ,2 ,3) >>> 0xa);
write(new Array(1 ,2 ,3) >>> 04);
write(new Array(1 ,2 ,3) >>> 'hello');
write(new Array(1 ,2 ,3) >>> 'hel' + 'lo');
write(new Array(1 ,2 ,3) >>> String(''));
write(new Array(1 ,2 ,3) >>> String('hello'));
write(new Array(1 ,2 ,3) >>> String('h' + 'ello'));
write(new Array(1 ,2 ,3) >>> new String(''));
write(new Array(1 ,2 ,3) >>> new String('hello'));
write(new Array(1 ,2 ,3) >>> new String('he' + 'llo'));
write(new Array(1 ,2 ,3) >>> new Object());
write(new Array(1 ,2 ,3) >>> new Object());
write(new Array(1 ,2 ,3) >>> [1, 2, 3]);
write(new Array(1 ,2 ,3) >>> [1 ,2 , 3]);
write(new Array(1 ,2 ,3) >>> new Array(3));
write(new Array(1 ,2 ,3) >>> Array(3));
write(new Array(1 ,2 ,3) >>> new Array(1 ,2 ,3));
write(new Array(1 ,2 ,3) >>> Array(1));
write(new Array(1 ,2 ,3) >>> foo);
write(Array(1) >>> undefined);
write(Array(1) >>> null);
write(Array(1) >>> true);
write(Array(1) >>> false);
write(Array(1) >>> Boolean(true));
write(Array(1) >>> Boolean(false));
write(Array(1) >>> new Boolean(true));
write(Array(1) >>> new Boolean(false));
write(Array(1) >>> NaN);
write(Array(1) >>> +0);
write(Array(1) >>> -0);
write(Array(1) >>> 0);
write(Array(1) >>> 0.0);
write(Array(1) >>> -0.0);
write(Array(1) >>> +0.0);
write(Array(1) >>> 1);
write(Array(1) >>> 10);
write(Array(1) >>> 10.0);
write(Array(1) >>> 10.1);
write(Array(1) >>> -1);
write(Array(1) >>> -10);
write(Array(1) >>> -10.0);
write(Array(1) >>> -10.1);
write(Array(1) >>> Number.MAX_VALUE);
write(Array(1) >>> Number.MIN_VALUE);
write(Array(1) >>> Number.NaN);
write(Array(1) >>> Number.POSITIVE_INFINITY);
write(Array(1) >>> Number.NEGATIVE_INFINITY);
write(Array(1) >>> new Number(NaN));
write(Array(1) >>> new Number(+0));
write(Array(1) >>> new Number(-0));
write(Array(1) >>> new Number(0));
write(Array(1) >>> new Number(0.0));
write(Array(1) >>> new Number(-0.0));
write(Array(1) >>> new Number(+0.0));
write(Array(1) >>> new Number(1));
write(Array(1) >>> new Number(10));
write(Array(1) >>> new Number(10.0));
write(Array(1) >>> new Number(10.1));
write(Array(1) >>> new Number(-1));
write(Array(1) >>> new Number(-10));
write(Array(1) >>> new Number(-10.0));
write(Array(1) >>> new Number(-10.1));
write(Array(1) >>> new Number(Number.MAX_VALUE));
write(Array(1) >>> new Number(Number.MIN_VALUE));
write(Array(1) >>> new Number(Number.NaN));
write(Array(1) >>> new Number(Number.POSITIVE_INFINITY));
write(Array(1) >>> new Number(Number.NEGATIVE_INFINITY));
write(Array(1) >>> '');
write(Array(1) >>> 0xa);
write(Array(1) >>> 04);
write(Array(1) >>> 'hello');
write(Array(1) >>> 'hel' + 'lo');
write(Array(1) >>> String(''));
write(Array(1) >>> String('hello'));
write(Array(1) >>> String('h' + 'ello'));
write(Array(1) >>> new String(''));
write(Array(1) >>> new String('hello'));
write(Array(1) >>> new String('he' + 'llo'));
write(Array(1) >>> new Object());
write(Array(1) >>> new Object());
write(Array(1) >>> [1, 2, 3]);
write(Array(1) >>> [1 ,2 , 3]);
write(Array(1) >>> new Array(3));
write(Array(1) >>> Array(3));
write(Array(1) >>> new Array(1 ,2 ,3));
write(Array(1) >>> Array(1));
write(Array(1) >>> foo);
write(foo >>> undefined);
write(foo >>> null);
write(foo >>> true);
write(foo >>> false);
write(foo >>> Boolean(true));
write(foo >>> Boolean(false));
write(foo >>> new Boolean(true));
write(foo >>> new Boolean(false));
write(foo >>> NaN);
write(foo >>> +0);
write(foo >>> -0);
write(foo >>> 0);
write(foo >>> 0.0);
write(foo >>> -0.0);
write(foo >>> +0.0);
write(foo >>> 1);
write(foo >>> 10);
write(foo >>> 10.0);
write(foo >>> 10.1);
write(foo >>> -1);
write(foo >>> -10);
write(foo >>> -10.0);
write(foo >>> -10.1);
write(foo >>> Number.MAX_VALUE);
write(foo >>> Number.MIN_VALUE);
write(foo >>> Number.NaN);
write(foo >>> Number.POSITIVE_INFINITY);
write(foo >>> Number.NEGATIVE_INFINITY);
write(foo >>> new Number(NaN));
write(foo >>> new Number(+0));
write(foo >>> new Number(-0));
write(foo >>> new Number(0));
write(foo >>> new Number(0.0));
write(foo >>> new Number(-0.0));
write(foo >>> new Number(+0.0));
write(foo >>> new Number(1));
write(foo >>> new Number(10));
write(foo >>> new Number(10.0));
write(foo >>> new Number(10.1));
write(foo >>> new Number(-1));
write(foo >>> new Number(-10));
write(foo >>> new Number(-10.0));
write(foo >>> new Number(-10.1));
write(foo >>> new Number(Number.MAX_VALUE));
write(foo >>> new Number(Number.MIN_VALUE));
write(foo >>> new Number(Number.NaN));
write(foo >>> new Number(Number.POSITIVE_INFINITY));
write(foo >>> new Number(Number.NEGATIVE_INFINITY));
write(foo >>> '');
write(foo >>> 0xa);
write(foo >>> 04);
write(foo >>> 'hello');
write(foo >>> 'hel' + 'lo');
write(foo >>> String(''));
write(foo >>> String('hello'));
write(foo >>> String('h' + 'ello'));
write(foo >>> new String(''));
write(foo >>> new String('hello'));
write(foo >>> new String('he' + 'llo'));
write(foo >>> new Object());
write(foo >>> new Object());
write(foo >>> [1, 2, 3]);
write(foo >>> [1 ,2 , 3]);
write(foo >>> new Array(3));
write(foo >>> Array(3));
write(foo >>> new Array(1 ,2 ,3));
write(foo >>> Array(1));
write(foo >>> foo);
